home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-07 | 144.6 KB | 3,784 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Applications Generator System
- Main Documentation
- With Appendixes
-
-
-
- "Using application software saves money.
- Designing application software wastes it".
-
- -No one in particular
-
-
-
-
-
- by: RL Coppedge, CDP CIS #: 72117,165
- 446 Richmond Pk E 402A Genie: R.COPPEDGE1
- Richmond Hts, Ohio Cleve Free-Net: AE069
- 44143
-
-
-
-
-
-
-
- Copyright 1988, RL Coppedge CDP
- May 7, 1988
- V2.10
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section # Topic Page #
-
-
- Section 1.0 Introduction.
- 1
- 1.1 What is an Applications Generator System?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- 1.2 How to Use this Document.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- 1.3 Who Should Use it.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- 1.4 What should you know beforehand.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- 1.5 What to do if you have Questions.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- 1.6 What is a Database?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
-
- Section 2.0 Starting the System.
- 3
- 2.1 Standard Configuration.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 2.2 Turning the Machine on.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 2.3 Starting your Application.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- 2.3.1 Your Application Name
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- 2.3.2 Get Going!
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
-
- Section 3.0 Main Menu.
- 5
- 3.1 Inquiry/Entry.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 3.2 Reports.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 3.3 File Transfer.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 3.4 WP Conversion.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 3.5 Search.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 3.6 Housekeeping.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 3.7 Help.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- 3.8 Selection Criteria Maintenance.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- 3.9 Verification Edit
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
-
-
- i
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section # Topic Page #
-
-
- 3.10 Registration Info
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
-
- Section 4.0 Inquiry/Entry.
- 8
- 4.1 Choosing a Logical Order.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
- 4.2 Entering the Key Field.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- 4.3 Edit the Record.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
- 4.3.1 Special Keys and their Uses
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
- 4.3.2 Data Types
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
- 4.4 Update/Release Information.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
- 4.5 How to Enter Information.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
- 4.6 How to Add a Lot of New Information.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
- 4.7 How to Change Information.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
- 4.8 How to Delete Information.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
- 4.9 How to Print Information.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
- 4.10 A Sample Entry Session.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
-
- Section 5.0 Reports.
- 18
-
- Section 6.0 File Transfer.
- 19
-
- Section 7.0 WP Conversion.
- 20
- 7.1 What is this for?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
- 7.2 Output Format
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
- 7.3 How to Choose Fields.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
- 7.4 Choosing a Selection Criteria.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
- 7.5 Choosing a Logical Order.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
-
-
- ii
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section # Topic Page #
-
- 7.6 What to do on the WP end.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
-
-
- Section 8.0 Search.
- 25
- 8.1 What does Search do?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
- 8.2 What does Search not do?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
- 8.3 Entering Additional Field.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
- 8.4 Choosing a Selection Criteria.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
- 8.5 Totals Only?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
- 8.6 Printed Out?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
- 8.7 Choosing a Logical Order.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
- 8.8 New Page?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
-
- Section 9.0 Housekeeping.
- 27
- 9.1 Data Backups.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
- 9.2 Reindex Data.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
- 9.3 Data Verification.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
- 9.4 Control.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
- 9.4.1 Confirm
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
- 9.4.2 Delete
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
- 9.4.3 Bell
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
- 9.4.4 Exact
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
- 9.5 Delete Blank Records.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
- 9.6 Packing Your Database.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
-
- Section 10.0 Help.
- 33
- 10.1 Database Help.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
-
- iii
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section # Topic Page #
-
- 10.2 Command Line Help.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
- Section 11.0 Selection Criteria Maintenance.
- 35
- 11.1 What is a Selection Criteria?
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
- 11.2 Simple Selection Criterias.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
- 11.3 Complex Selection Criterias.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
- 11.4 Maintaining a Selection Criteria Library.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
- 11.5 Choosing a Selection Criteria
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
- 11.51 Enter a Manual Selection Criteria. . . . 41
- 11.52 Access the Selection Criteria Library. . 42
- 11.53 Use the Selection Criteria Guide . . . . 43
- 11.6 Selection Criteria Syntax.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
-
- Section 12.0 Verification Edit. 45
- 12.1 Verifying Numerics. . . . . . . . . . . . . . 45
- 12.2 Verifying Dates. . . . . . . . . . . . . . . 45
- 12.3 Verifying Characters. . . . . . . . . . . . . 45
-
- Section 13.0 Registration Info. 47
-
- Section 14.0 Additional Notes and Capabilities.
- 49
- 14.1 Security
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
- 14.2 Training
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
-
- Section 15.0 Suggested Ways of Learning More. 50
-
- Section 16.0 Thanks and Acknowledgements 51
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
- i
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Figure Page:
-
-
- Figure 3-1 The Main Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- Figure 4-1 A Sample Database Structure
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- Figure 4-2 A sample Logical Order Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- Figure 4-3 Entering The Key Field.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- Figure 4-4 A Sample Data Entry Screen.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
- Figure 4-5 List of Keys and their Functions.
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- Figure 4-6 Data Types
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- Figure 4-7 Update/Release Command Line
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- Figure 4-8 Update/Release Decision Table
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- Figure 4-9 A Sample Record Awaiting Entry
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- Figure 4-10 A Sample Data Entry Session
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
- Figure 7-1 WP Options . . . . . . . . . . . . . . . 6
- Figure 7-2 Output File Name
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Figure 7-3 A Sample Letter
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Figure 7-4 A WP Conversion Selection Screen
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Figure 8-1 Search Options
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Figure 9-1 Sample Housekeeping Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- Figure 9-2 Backup Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- Figure 9-3 Backup Message
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- Figure 9-4 Control Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- Figure 10-1 Help Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- Figure 10-2 Sample Database Help Screen
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
- Figure 10-3 Sample Command Line Help Screen
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
- Figure 11-1 A List of Selection Criteria Operatives
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- Figure 11-2 Some Simple Selection Criterias
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
-
- ii
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Figure 11-3 A List of Linking Conditionals
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
- Figure 11-4 Selection Criteria Maintenance Menu
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
- Figure 11-6 Selection Criteria Entry Screen
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
- Figure 11-7 Sample Selection Criteria Library
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
- Figure 11-8 Boolean Conditions . . . . . . . . . . . 14
- Figure 12-1 Verification Edit Menu . . . . . . . . . 15
-
- Note: Only Appendix C is included in the Non-Registered Version.
- Appendix D is included in the Registered version, and A and B is
- included with the actual Code.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iii
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 1.0 Introduction.
-
- 1.1 What is an Applications Generator System?
-
- Well Billy, an Applications Generator System, or AGS is used
- to allow development of computer software in a much faster and
- more efficient manner than before. By merely entering into the
- system certain qualities and capabilities you need along with a
- specific database format, the system automatically generates
- over 90% of the computer code necessary to begin entry, modifica-
- tion and retrieval of information...that's like taking an eighty
- hour programming job and finishing it before you leave for
- lunch...
-
- Throughout this document you'll not see a specific database,
- field or application mentioned (except for examples). That's
- because the manner in which one application works is the same way
- all of the others do as well. Which means that this document can
- serve as documentation for everyone, with minor additions and
- modifications.
-
- 1.2 How to Use this Document.
-
- This document is intended to introduce people to the way
- that information is entered, modified and used with the Applica-
- tions Generator System (AGS). This is not intended to be an
- introduction to computers, nor is it intended to show people
- everything there is to know about Dbase III+. Far from it.
- There are far better documents, training tools and the like for
- that task. This document is to be used simply to understand how
- to use the AGS.
-
- This document is also not intended to be used to create an
- application through the AGS. This document assumes that all of
- this has already been done by someone familiar with the system.
- If there has been no creation done yet, than this document is
- really useless. However, it is recommended reading prior to
- running the Create mode so that the Creator will understand
- better how to define the database (as well as the Create.Dbf
- file, which is better defined in the Create Documentation,
- Appendix G).
-
- 1.3 Who Should Use it.
-
- This document should be used by anyone who is interested in
- entering, modifying, reporting or just plain looking at informa-
- tion that is contained in your particular application. It can
- also be used for someone who on a more limited basis may want to
- look at the information once in awhile.
-
- 1.4 What should you know beforehand.
-
-
- 1
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- The person who is going to try to use this system really
- should be familiar with some of the jargon associated with
- computers, but certainly does not need to be anything near an
- expert. However, without a doubt it helps to be comfortable with
- the machine at hand.
-
- Take advantage of some of the tutorials, books and other
- learning tools that are available. Learn how to use the machine,
- and what most of the keys mean.
-
- Also in some places we have given you descriptions on what
- to enter for certain conditions. When we speak of <Enter>, we
- mean to push the <Enter> key itself, not type in the word
- "Enter".
-
- 1.5 What to do if you have Questions.
-
- Everyone is going to have a question, or is going to be
- stuck at one point or another. However, don't let it bother you.
-
- We have done everything we can to ensure that the informa-
- tion is protected against accidental damage. Also, since you are
- doing backups on a routine basis, even if there is some catastro-
- phic damage, the time to bring you up to date should be minimal.
-
- So go ahead and call for support...or try to solve it
- yourself. Again, you really can't mess things up too badly...as
- long as you're doing backups!! (See Section 9.1, Backups). As
- the author of the AGS, I will make myself available to some
- degree, but don't expect too much. (Especially if you're not a
- registered user)
-
- 1.6 What is a Database?
-
- Knowing the technical information about a database is really
- unimportant here. What you need to know in order to use it is
- simply that a:
-
- Database: is a collection of specific information that can
- be used or retrieved in an organized fashion and method.
-
- Record: is an individual member (or transaction) of that
- database that refers to one specific instance or case contained
- in the database.
-
- Again, PLEASE! Don't take my definitions. Learn from other
- sources much better than this.
-
-
-
-
-
-
- 2
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 2.0 Starting the System.
-
- 2.1 Standard Configuration.
-
- Unless different for a particular application, the following
- is a list of requirements for the AGS to work on a system.
-
- An IBM XT, AT, 286, 386, PS/2 or 100% compatible
- 640 KB RAM
- 1 360 or 1.2Mb floppy disk drive
- 1 10 MB hard drive
- 1 Printer
- Monitor + keyboard (rather obvious)
- Dbase III+ (From Ashton-Tate) or lookalike
-
- Note that FoxBase+ is contained in the file FOXAGS.ARC
- DBXL does not have a version as of yet.
-
- And the following directories (which are set up by the Create
- function):
-
- C: (is the Drive):
-
- C:\DBDATA\MAIN where the Dbase III+ utilities are
- C:\DBDATA\HELP where the HELP DBF files are stored
- C:\DBDATA\CREATE where the Create Programs are stored
-
- C:\DBDATA\(Appname) is where the application programs and data
- are stored.
-
- Note that there can be several applications on this disk...each
- one would be stored in a different C:\DBDATA\(Appname)
-
- Although the monitor type (monochrome, CGA, EGA) really
- won't make a difference, make sure your file CONFIG.DB is
- properly set up (see you Dbase III+ documentation for details on
- that). On some monitors the Help screen may work a tad flaky
- (not going away when you hit any key). We're working on that.
-
- As far as printers go, there are no special print characters
- used in this system (to ensure smooth transportation from one
- machine to another). Maybe in a later release.
-
- 2.2 Turning the Machine on.
-
- Of course, like any great adventure, this one begins with a
- single step. Turn the machine on. Usually you can do this
- without worrying about where a floppy disk is, just flick the
- switch. Make sure that the monitor (TV screen) is turned on,
- and that the printer (if you plan to use it) is both on and
- on-line.
-
-
- 3
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- 2.3 Starting your Application.
-
- Ok, so you've gotten this far...you've turned on the
- machine, and you've read the menu on the screen. Now you're
- ready to begin your database application.
-
-
- 2.3.1 Your Application Name
-
- Each Dbase application has a name associated with it. This
- name serves several functions. In our sample menu previously
- discussed, the Application Name was "test". It:
-
- Is the name of the subdirectory on Dbase (ie, path =
- C:\DBASE\TEST)
-
- Is the name of the Database File (ie, TEST.DBF).
-
- Is used for creating several program files for various
- purposes throughout the system (ie, ETEST.PRG, W1TEST.PRG, etc.)
-
- You should know your application name, and always keep it in
- mind!
-
- 2.3.2 Get Going!
-
- Enough! To start your system, you would move to the Dbase
- directory and start Dbase with the command stated in such a way
- so it would also immediately execute your application's menu.
- For example, in our sample, we were using "Test" as our applica-
- tion name. So, we type in the following:
-
- DBASE Test<Enter>
-
- Upper case, lower case, it doesn't matter. The system
- should then bring up the Dbase III+ main screen, and then clear
- again and display the Applications Main Menu. You are now in!
- (yea!)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 3.0 Main Menu.
-
- The main menu is a list of tasks that you can perform. All
- tasks are related to the same database (or to hidden databases
- that support it). All programs supported by the AGS can be
- accessed through the main menu. The only exceptions to this rule
- would be a special need created by a particular application.
- Only by entering the system through the main menu are you assured
- of initializing all variables to their proper values. If you
- were to try to access the programs from outside of the menu, even
- if the screens seem to work, they probably are doing something
- unwanted in the background. So please, access the system through
- the main menu only, and be careful when you don't.
-
- Prior to the Main Menu appearing, the system will perform a
- number of test on the system. Should any of the Create files
- (see Appendix C) be missing, the system will inform you. Also
- the system will verify that there is at least one indexed field,
- and that the index files exist.
-
- When the Main Menu appears, you will be given a list of
- tasks. There may be some tasks which appear on your screen that
- are not in the documentation here. This is due to the fact that
- there are certain capabilities on these systems that are in
- addition to the main functions, which are listed below. More
- information on these tasks can be found in Appendix D, Specific
- Database Information. On most systems, the main menu looks
- something like this:
-
- |-----------------------------------------------------------|
- |Test Database System |
- |Choose from the following: |
- | |
- | |
- |1> Inquiry/Entry 7> Help |
- | |
- |2> Reports 8> Selection Criteria Maint|
- | |
- |3> File Transfer 9> Verification Edit |
- | |
- |4> WP Conversion 0> Registration Info |
- | |
- |5> Search |
- | |
- |6> Housekeeping |
- | |
- |For help on any one of these, press <Shift>-# |
- |Which one do you want (Q to quit) |
- | |
- |___________________________________________________________|
- Figure 3-1 The Main Menu
- [Valid Responses:1,2,3,4,5,6,7,8,9,0,Q,q,!,@,#,$,%,^,&,*,(,)]
-
- 5
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- Note that in place of Test Database will be the title (which
- is more descriptive and longer than the application name) of the
- database/application.
-
- 3.1 Inquiry/Entry.
-
- Inquiry/Entry is the function that allows you to inquire
- (look at), add, change, delete and print information contained in
- the database. Access to the information is on a record-by-record
- basis, and can be accessed according to several parameters(see
- Section 4.1 Choosing a Logical Order).
- See Section 4.0, Inquiry/Entry.
-
- 3.2 Reports.
-
- Reports will list and give access to the various reports
- that have been developed specifically for your particular
- database. Note that originally this menu is a dummy menu
- program.
- See Section 5.0, Reports.
-
-
- 3.3 File Transfer.
-
- This task will allow and control communications with other
- computers (for those systems with these capabilities). Note that
- originally this menu is a dummy menu program.
- See Section 6.0, File Transfer.
-
- 3.4 WP Conversion.
-
- This task will set up a file for you to use your database
- information to produce special form letters, labels, etc. using
- your Word Processing Mail Merge (also known as "List Processing")
- capabilities. It works currently with:
- WordStar 2000
- WordPerfect
- WPS PC+
- DisplayWrite
- Dbase III+
- See Section 7.0, WP Conversion.
-
- 3.5 Search.
-
- This tasks allows the user to inquire information under
- specific conditions existing in the database.
- See Section 8.0, Search.
-
- 3.6 Housekeeping.
-
- This menu controls several support functions (backup, etc.)
-
- 6
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- available to the user.
- See Section 9.0, Housekeeping.
-
- 3.7 Help.
-
- This task gives the user on-line help concerning the
- database and its fields.
- See Section 10.0, Help.
-
- 3.8 Selection Criteria Maintenance.
-
- This task allows the user to set up and maintain selection
- criterias which would be commonly used.
- See Section 11.0, Selection Criteria Maintenance.
-
- 3.9 Verification Edit.
-
- Certain fields have limitations set on them by their
- creator. Verification Edit allows you to change or add to the
- limitations.
-
- 3.10 Registration Info.
-
- This gives you information on how to register this version
- of AGS, if necessary. (See Seciton 13.0)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 4.0 Inquiry/Entry.
-
- Inquiry/Entry (or, just "Inquiry") is probably the most
- important task in the system to understand. Through this
- function data is added, changed, deleted or just looked at.
-
- Let's create a sample database that we can work with. This
- database will be given the task to analyze the various types of
- property we have in a particular area. With that in mind, we
- might come up with the following structure(this is a slightly
- modified "DISP STRUC" Dbase command):
- ____________________________________________________________
- | |
- |Structure for database: C:test.dbf |
- |Number of data records: 4 |
- |Date of last update : 07/01/87 |
- |Field Field Name Type Width Desc |
- | 1 E_DATE Date 8 Date of Entry |
- | 2 ST_NUM Character 8 Street Number |
- | 3 ST_NAME Character 20 Street Name |
- | 4 PARCEL Character 10 Perm. Parcel # |
- | 5 CEN_TRACT Character 5 Census Tract |
- | 6 CEN_BLOCK Character 3 Census Block |
- | 7 SCHOOL_D Character 4 School District |
- | 8 UNITS Numeric 3 # of Units |
- | 9 PROP_TYPE Character 2 Property Type |
- | 10 OWN_NAME Character 20 Owners Name |
- | 11 O_ADDR1 Character 30 Owners Add #1 |
- | 12 O_ADDR2 Character 30 Owners Add #2 |
- | |
- |** Total ** 143 Bytes per Record |
- |___________________________________________________________|
- Figure 4-1 A Sample Database Structure
-
- When we want to look at, add or change this database, we
- would perform the following steps:
-
- a> Choosing a Logical Order.
- b> Enter the Key Field.
- c> Edit the Record.
- d> Update/Release Record.
-
- 4.1 Choosing a Logical Order.
-
- This is the first option that shows up after the main menu.
- In order to access the information, you must tell the computer
- which way you want to access it. This is called the logical
- order. A logical order is based on a single variable, as long
- as it is contained as a variable in the database themselves.
-
- In Dbase III+ terms, choosing a logical order is really just a
- matter of choosing which index file will be active.
-
- 8
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- Once the logical order has been determined, then you must
- indicate what specific value for that logical order you want to
- see.
-
- Now, what kind of sorting would we want? The real question
- to ask is, "What are the various ways I would want to recall
- information to the screen?" In this case, the answer could be:
-
- 1> By Street Name. (I want to look at an area)
-
- 2> By Property Type. (I want to look only at commercial
- properties)
-
- 3> Add new ones. (I don't want to see any, I just want to add
- more)
-
- 4> Browse. (I want to look at special conditions)
-
- (See your Dbase III+ documentation for more details)
- For something with these options, the Logical Order screen
- would look like this:
- ___________________________________________________________
- | |
- | Enter one of the following methods to access the |
- | Test Database: |
- | |
- | 1> By Street |
- | 2> By Property Type |
- | 3> Add New Records |
- | 4> Browse |
- | |
- | Enter your choice here (or "H" for help, "Q" to quit) |
- | Well, what'll it be? |
- | |
- |___________________________________________________________|
- Figure 4-2 A sample Logical Order Menu
- (Valid Responses:1,2,3,4,H,h,Q,q)
-
- 4.2 Entering the Key Field.
-
- Let's assume that you wish to identify the record that you
- want to change by using the Street Name. That is the key field
- you wish to enter (you would choose this option by entering a "2"
- at the above screen). Since you have identified the logical
- order as the Street Name, the system is now going to state:
-
- In Dbase III+ terms, you are entering the variable with which you
- wish to "Seek".
-
-
-
-
- 9
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- ____________________________________________________________
- | |
- | Enter Street Name you wish to modify: |
- |___________________________________________________________|
- Figure 4-3 Entering The Key Field.
-
- If, for example, you wanted to find a property that is on
- "ANYSTREET", you would type in:
-
- ANYSTREET<enter>
-
- 4.3 Edit the Record.
-
- The system will then look through its database to find any
- occurrence of a Street Name of "ANYSTREET". If it cannot find
- one, it will flash the message "NOT FOUND-- ADDING NEW RECORD".
- But in either case, the database screen will appear. If it is a
- new record, the values of the data will be at their initial
- values. But if there was an "ANYSTREET", the information will
- appear on the screen. A sample screen appears below:
-
- _____________________________________________________________
- | |
- | Del_flg:NOT |
- | NOT FOUND-- ADDING NEW RECORD |
- | Entry Date: / / |
- | |
- | Street Number: Street Name: ANYSTREET |
- | Permanent Parcel #: |
- | Census Tract:Census Block: |
- | School District:# units for property: 1 |
- | Property Type: |
- | Owners Name: |
- | Owners Address #1: |
- | Owners Address #2: |
- |___________________________________________________________|
- Figure 4-4 A Sample Data Entry Screen.
-
- In the example above, this is a new record being added
- (notice the "NOT FOUND..." message). As you can see, there is
- some information already included on the screen, even though
- there has been no entry. For example, the computer has already
- filled in the Street Name field with "ANYSTREET" (since that was
- what you had requested). Also, the Entry Date was assumed to be
- today's date (in this case 24 Jul 87) and the number of units
- was a default of "1".
-
- The cursor is placed at the top left of the screen at the
- beginning of the block reserved for "Entry Date". The system has
- placed the blank date in that field. If you want to change it,
- simply type in a new date (It must be a valid date. Also, don't
- put the '/'s in. The computer handles that).
-
- 10
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- 4.3.1 Special Keys and their Uses
-
- When you are finished with the date, either the <Down Arrow>
- key or the <Enter> key will move you to the next field. Figure
- 4-5 shows the various keys used during data entry. These are
- standard keys for use is Dbase III+ entry. See the Dbase III+
- documentation for more information.
-
- _____________________________________________________________
- | Key Function |
- | |
- | <Enter> Denotes end of a field, moves to |
- | next one |
- | <Left Arrow> Moves one character to the left |
- | within field |
- | <Right Arrow> Moves one character to the right |
- | within field |
- | <Up Arrow> Moves to previous field |
- | <Down Arrow> Moves to next field or ends entry (for |
- | last field) |
- | <Enter> Moves to next field or ends entry (for |
- | last field) |
- | <Backspace> Erases character immediately to the |
- | left of cursor |
- | <Delete> Erases character cursor is resting on |
- | <Insert> Toggles Insert On/Off |
- | <Home> Moves cursor to first field on screen |
- | <End> |
- | <Page Up> Ends input |
- | <Page Down> Ends Input |
- |___________________________________________________________|
- Figure 4-5 List of Keys and their Functions.
-
-
- 4.3.2 Data Types
-
- Keep in mind at all times the limits to the various types of
- data. Each type of data has their own limitations. Referring
- back to Figure 4-1 shows the four types of data used by the AGS.
- They are Character, Numeric, Logical and Date. Some of their
- characteristics are outlined in Figure 4-6. At this point in
- time, AGS does not support Memo fields. Perhaps in a future
- release.
-
- Character fields are most common, and are used to contain
- "alphanumeric" (containing both alphabetical and numeric charac-
- ters) information. However, they cannot be used as numbers, nor
- as dates, and therefor have extremely limited computational
- value.
-
- A numeric field, as its name implies, contains numeric
-
- 11
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- information that is to be used computationally. For example, the
- field units in our test (back in Figure 4-1) would have possibly
- a 2 contained within (representing that the property has two
- units within it). The zip code (not used here) may be "44118",
- but it is not a number. It's important to keep the distinction
- in mind.
-
- A date field contains a valid date, using the format
- "MM/DD/YY". Yes, it keeps track of leap years.
-
- Finally a Logical Field is a simple Yes/No field. In our
- test, we have a field called Del_flg. It is either Yes or No,
- and cannot have any other value (Yes/No is also called
- True/False, 1/0, On/Off, but the idea is the same).
- _____________________________________________________________
- | |
- |Type Valid Invalid Comments |
- | |
- |Character "Waldo!" True Character is the |
- | "413" 413 most common type. |
- | "January 5" 01/05/87 |
- | |
- |Numeric 413 "413" Numeric follows |
- | 41.3 41 3/10 standard math |
- | -5.234 rules. |
- | |
- |Date 12/23/87 "12/23/87" Must be in |
- | 12/33/87 valid mm/dd/yy |
- | Jan.6 format |
- | |
- |Logical .T. T These are the |
- | .F. F only valid |
- | .Y. Yes values for |
- | .N. nope Logicals |
- | |
- |___________________________________________________________|
- Figure 4-6 Data Types
-
- Each data type fills a vital role and is critical in some
- way or another. When entering data, the system will automat-
- ically check whether your input is valid to the field you are
- currently on; if it is not, an buzzer will sound, and the cursor
- will not show your attempt on the screen, nor will it let you
- move on until the data is good for that field.
-
- 4.4 Update/Release Information.
-
- When you are finished entering the information, the system
- will flash on the second last line of the screen a particular
- command line (see Fig 4-7). This command line lists the six
- things that you can do with the record you have just edited.
-
-
- 12
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- _________________________________________________________________
- | |
- |<shift>#-Hlp 1-Sve/Ex 2-Save/Nxt 3-Print 4-Del 5-Qt/Ex 6-Qt/Nxt|
- | |
- |_______________________________________________________________|
- Figure 4-7 Update/Release Command Line
-
- Of the six options you have listed, #'s 1,2,5,6 are rather
- interrelated in how you dispose of the information you have just
- entered. # 3 and 4 are independent.
-
- #3 Print. This option will print out the record onto your
- printer (with no particular print controls or anything). It will
- then return you to Figure 4-7's command line.
-
- #4 Delete/Undelete. This option will mark the record for
- future deletion. It will not actually remove the record from
- the file. To do that, see Section 9.6, Packing Your Database.
-
- This leaves #'s 1,2,5,6. There are two questions that are
- asked after you have entered your record. They are:
-
- 1> Do I want to save what I just did?
-
- 2> What do I want to do next?
-
- Each question has two possible responses. The first one is
- a simple Yes/No Question. It deals with the possibility that you
- do not want to save what you just did (you were just looking, or
- you changed your mind). If you want to save it, the computer
- will update the file contained on the disk. If you do not, the
- system will simply ignore the information as if it never hap-
- pened.
-
- As to the second question. There are also only two answers,
- but they are not Yes and No. They are:
-
- 2a> Return to Main Menu.
- 2b> Go to the next record.
-
- The first one is simple enough. It simply refers to the
- idea of returning to the Main Menu (shown in Figure 3-1),
- basically saying you're done with Inquiry/Entry.
-
- The second one will simply look for the next record after
- this one. The next record is defined by the choice you made
- concerning the Logical Order (see Section 4.1, Choosing a Logical
- Order). If we continue with the idea that we chose Logical Order
- # 2 (by Street, according to Figure 4-2) and our key field we
- entered was "ANYSTREET", the system will look for the next
- occurrence of "ANYSTREET". If the system cannot find one, it
- will act as if it was adding a new record.
-
- 13
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- So, those are the two questions. And since there are two
- possible answers each, there are a total of four possible
- combinations of the two (see where we're going?) Figure 4-8 shows
- a decision table of the four questions. By cross-referencing the
- two answers, you will find a number. That is the number that you
- would enter in response to the Update/Release Command Line.
- ____________________________________________________________
- | | |
- | Return to Menu? Y | N |
- | -------------------------+-------+--------| |
- | Update Disk? Y | 1 | 2 | |
- | |-------|--------| |
- | N | 5 | 6 | |
- | |----------------| |
- | |
- |___________________________________________________________|
- Figure 4-8 Update/Release Decision Table
-
-
- 4.5 How to Enter Information.
-
- There are a few tips to entering information. They are:
-
- Stay consistent with your cases on entering Character
- information (small letters vs. CAPITAL letters). Although the
- system can be set up to ignore the differences, you should strive
- to maintain consistency.
-
- Watch out against adding blank records to the system. (But
- if you do, there's a way to get rid of the in Housekeeping)
-
- As a rule, only use option #'s 1 + 2 when you really are
- updating information.
-
- Careful with deleting records...
-
- Be true to your school.
-
- If you are ever getting information in the wrong places,
- your first step should be to reindex your files (see Section 9.2,
- Reindexing Data).
-
- And never let them see you sweat.
-
- 4.6 How to Add a Lot of New Information.
-
- Adding new information is rather simple. Choose Logical
- Order #5, Add New Records (See Section 4.1, "Choosing a Logical
- Order" and Figure 4-2). The system will not ask you for a key
- field, and will simply initialize a new record. However, you
- have to watch out because the system will not tell you if a
-
- 14
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- duplicate record exists.
-
- 4.7 How to Change Information.
-
- If you want to change information about a particular record,
- simply call up the record, (using Logical Order 1,2 or 3. It's
- up to you) and then change it all you want, using the keys as
- described in Figure 4-5. By entering information over or in
- addition to what was there previously, you are replacing that
- data on the screen only. Once you are finished changing the
- information and you hit get the Update/Release Command Line (see
- Figure 4-7), you should then review the changes you have made.
- If you want to retain the changes, choose either option # 1 or 2
- from the Update/Release Command Line (See Section 4.4 Update/Re-
- lease Information, and Figure 4-8). If you choose either #1 or
- 2, the information is then written permanently (until you change
- it again) to the disk drive of the computer. Choosing option #5
- or 6 will cause the changes you have made to be erased, and the
- record will revert to its original form (which contained what was
- there when it first came up on the screen).
-
-
-
- 4.8 How to Delete Information.
-
- Real simple. Call up the record, then the Update/Release
- Command Line and select option #4 (Delete). If you would call
- the record up again, you would see that in the upper right-hand
- corner, the display would say Del_flg: DELETED. This means that
- the record is marked for deletion. IF you have a change of heart
- and decide not to delete it, simply select option #4 (delete)
- again. But once you perform the Pack function (see Section 9.6,
- Packing Your Database) , that record is gone forever.
-
- 4.9 How to Print Information.
-
- Also easy. Call up the Record, and select Option #3
- (Print). Assuming you have a printer on-line and ready, it
- should begin instantly printing out a hardcopy. wow!
-
- 4.10 A Sample Entry Session.
-
- Assuming that we have one new record to enter. Let's start
- from the beginning, with the system turned off. Before we turn
- the machine on, we have to understand what it is we're going to
- enter. The information should be organized in such a way that
- you can easily tell what should be in each field. Let's assume
- you've done that, and the data you're going to enter is in Figure
- 4-9.
-
-
-
-
- 15
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- _____________________________________________________________
- | |
- |Field Field Name Desc |
- | 1 E_DATE Date of Entry Today's Date |
- | 2 ST_NUM Street Number 1436 |
- | 3 ST_NAME Street Name Anystreet |
- | 4 PARCEL Perm. Parcel #53-233-43 |
- | 5 CEN_TRACT Census Tract 1406 |
- | 6 CEN_BLOCK Census Block 22 |
- | 7 SCHOOL_D School District (don't know) |
- | 8 UNITS # of Units 1 |
- | 9 PROP_TYPE Property Type I |
- | 10 OWN_NAME Owners Name Waldo |
- | 11 O_ADDR1 Owners Add #1 64 Main St. |
- | 12 O_ADDR2 Owners Add #2 Ny,Ny 12345 |
- | |
- | 1st Value: Computer's Field Name |
- | 2nd Value: Description as on Screen |
- | 3rd Value: Data to be Entered for Record |
- |___________________________________________________________|
- Figure 4-9 A Sample Record Awaiting Entry
-
- Now you will notice that for one field, School District, we
- don't know the value for that field. Perhaps we'll learn it
- later, perhaps not. But we want to enter the record now. Figure
- 4-10 shows a step-by-step procedure for entering the record.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 16
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- _____________________________________________________________
- | |
- | Step Fig Desc Action |
- | # |
- | 1 Turn Machine on. Flip switch on. |
- | |
- | 2 2-1 Start Application. "Dbase AppName" (See|
- | Sec. 2.4 |
- | |
- | 3 3-1 Begin Inquiry/Entry "1" |
- | |
- | 4 4-2 Choose Logical Order "4" |
- | |
- | 5 4-4 Begin Entering Data Enter information |
- | given in Fig 4-9 |
- | according to Sec. |
- | 4.3 |
- | |
- | 6 4-7 Update/Release Line If Data good, |
- | choose #1, else |
- | choose #5. |
- | |
- | 7 3-1 Exit from System "Q" |
- | |
- | 8 Turn Machine off. Flip switch off |
- | |
- | Notice that there are quotations (") around the var- |
- | ious Actions. Do not enter these. |
- |___________________________________________________________|
- Figure 4-10 A Sample Data Entry Session
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 17
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 5.0 Reports.
-
- Reports are critical in that they are the main method other
- than inquiry we use to process the information to others and it
- is the only way in which we can organize the data and produce it
- in a form that is more usable. Whereas the inquiry function
- outlined in Section 4.0 is useful for looking at individual
- records, reports are needed to look at all records, and how they
- relate.
-
- Reports are produced and designed with specific the applica-
- tion in mind. You should refer to the documentation of your
- application for more information.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 6.0 File Transfer.
-
- File Transfer is an activity that takes place when the
- system used is going to engage in any communication activity
- connected through network, data switch, direct wire or modem to
- another computer (or group of computers), or simply importing
- from another application. File Transfer controls the preparation
- of data to be sent from one point to another. At this point it
- is a dummy menu, but open for enhancement.
-
- An example which has been used in the past is to have this
- option drive updates to the database received from a minicomputer
- system.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 19
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 7.0 WP Conversion.
-
- 7.1 What is this for?
-
- WP conversion provides (although not for every application)
- an important side benefit for your data. It allows you to
- prepare List Processing (aka MailMerge) files directly from your
- database. This function should be used by people familiar with
- the various Word Processing capabilities associated with List
- Processing. There are currently five packages supported by AGS,
- and more can be introduced in the future.
-
- Let's use our test database as an example. Suppose that a
- school in the school district "Wise" was giving an open house on
- a particular date. Now, it's easy for Word Processing to
- generate a letter telling people about this. We could then make
- a lot of copies, and everyone would get a form letter. But
- wouldn't it be better to send a personalized letter to everyone
- in the school district? Of course it would! WPC allows you to
- prepare files that would allow us to send a letter to everyone
- that owns property in the Wise school district (as long as
- they're contained in the database). The letter would be add-
- ressed to the owner personally, and would go out only to those in
- the Wise District.
-
- 7.2 Output Format.
-
- The first item of information asked for by AGS here is which
- WP package you want to convert to. This is done through the menu
- you see in Figure 7-1.
-
-
- The following translation types are available:
- 1> Dbase ---> Word Perfect
- 2> Dbase ---> Word Star 2000
- 3> Dbase ---> WPS PC+
- 4> Dbase ---> Display Write IV
- 5> Dbase ---> Dbase (setup a new database)
- Which type do you want to do (H help, Q to quit)?
-
- Figure 7-1 WP Options
-
- By choosing #1-5, you will determine the format of your
- output file. In some cases, other WP packages would also work
- here without modification.
-
- 7.3 Output File Name.
-
- The first thing that we are asked in WP Conversion is the
- name of our output file. This is where all of the prepared
- information is going to go. It is a temporary file (you should
- delete it soon after producing the letters) and for the most part
-
- 20
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- should be relatively small. The name cannot be more than seven
- letters long. (See Figure 7-2) It will be produced in the
- \DBDATA\'Application Name' subdirectory. The extension of the
- file will be:
-
- Package Name: Extension:
- WordStar .WS
- WordPerfect .WP
- WPC PC+ .WPS
- DisplayWrite .DSP
- Dbase .DBF
-
- (Notice that the dbase option will actually create a new
- database. This is for situations where you want to 'play' with
- data without upsetting your main system)
-
- _____________________________________________________________
- | |
- |What is the Output File name(H help, Q to quit)? |
- |___________________________________________________________|
- Figure 7-2 Output File Name
-
- Also keep in mind that some WP programs (WordStar 2000
- MailList especially) is particular about the database structure
- (See the WordStar 2000 MailList Reference manual Page 40).
-
- Make sure that you write down the file name you use so that
- you don't forget it later.
-
- 7.3 How to Choose Fields.
-
- There are a total of 13 fields in the test database we've
- been using. Out of them, however, we really only need 5 of them
- to send this letter to the property owners. Prior to running
- this function, we should have the letter written out. We've done
- so, and the results are seen in Figure 7-3. Keep in mind that we
- do not need to actually enter the letter into the Word Processor
- prior to our running the WP Conversion function, but it doesn't
- hurt to do so.
-
- _____________________________________________________________
- | |
- | <Own_name> |
- | <O_addr1> |
- | <O_addr2> |
- | |
- | Dear <Own_name>; |
- | |
- | As owners of the property at <St_num> <St_name>, |
- | we thought that you might want to take a look at |
- | our wondrous Wise school system here. It's really |
- | a thrill to think that people like you would ever |
-
- 21
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- | think to give their children's minds up to us! |
- | |
- | We're having an open house on Thursday, August |
- | 10, at 7:00. Hope you can attend! |
- | |
- | Sincerely, |
- | |
- | Waldo Muckenfloss |
- | School Muckraker |
- |___________________________________________________________|
- Figure 7-3 A Sample Letter
-
- (Hey, I write programs, not open house letters!) You will
- notice that I have bolded where we will need data from the
- computer put in for each individual letter. So, the fields we
- need are:
-
- Own_name
- O_addr1
- O_addr2
- St_num
- St_name
-
- At first glance you might also think that we need the school
- district itself (School_D). But we don't that in the letter, we
- need it to select which records we are going to produce. That
- comes later, in section 7.4, Choosing a Selection Criteria.
-
- Now, since we know which fields we're going to need, we're
- ready to proceed to the next screen. Immediately after choosing
- a file name, the system will display a screen with all of the
- possible fields displayed (See Figure 7-4).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 22
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- _____________________________________________________________
- | |
- | WP List Processing Selection Screen For Test Database |
- | |
- | 1>Entry Date: 2> Street Number: |
- | 3> Street Name: 4> Permanent Parcel #: |
- | 5> Census Tract: 6> Census Block: |
- | 7> School District: 8> # units for property: |
- | 9>Property Type: 10> Owners Name: |
- | 11> Owners Address #1: 12> Owners Address #2: |
- | 13> Deleted Flag: |
- | |
- | Which one do you want to change (H for help, Q to quit)|
- |___________________________________________________________|
- Figure 7-4 A WP Conversion Selection Screen
-
-
- You'll notice that this looks strangely like the entry
- screen (see Figure 4-4), except that there is nowhere to actually
- enter information. That's because the only information needed is
- whether or not you a particular field to be included in your
- output file. Also each field description has a number immed-
- iately to its left. To choose a field, simply enter the number.
- Once chosen, that field will flash in inverted color. If you've
- chosen one mistakenly, simply choose it again, and the field will
- revert to its normal color. Keep doing this until you have
- chosen all fields you wish to be included in the file (in the
- case above, you would enter: 2,3,10,11,12). After you have all
- of the fields you want, enter a "Q" to signify that you are done.
-
- 7.4 Choosing a Selection Criteria.
-
- The next question asked by the system is concerning your
- selection criteria. (See Section 11.0, "Selection Criteria
- Maintenance")
-
- 7.5 Choosing a Logical Order.
-
- Usually for List Processing type of applications this is
- rather unimportant. If there is a particular order you want,
- then you should select accordingly; otherwise, any order will do.
- One thought here is if you do this enough, you should make the
- Zip code of the address a Logical Order, possibly saving some
- costs on postage.
-
- At this point the system will begin its search and will
- display an appropriate message of "Do Not Touch Me!!", encour-
- aging people to leave it alone while it's working. For larger
- files, the system will generally take approximately 1.5 seconds
- for each selected record (dependant on so many things that I
- wouldn't even come close to guaranteeing that rate).
-
- 23
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- 7.6 What to do on the WP end.
-
- Once that is completed, you should copy your file (using an
- appropriate DOS command) to your Word Processing Sub-Directory.
- Once that is completed, you should refer to your Word Processing
- documentation on how to proceed. Some packages will require you
- to build file layouts corresponding to the layout you requested.
- The fields are sent to the file in numeric order, as opposed to
- the order in which they were chosen.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 24
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 8.0 Search.
-
- 8.1 What does Search do?
-
- Search gives a non-technical person with little or no
- computer experience the ability to ask simple "how many" ques-
- tions, like "how many people have moved into the Wise school
- system since January?" without having to struggle with either the
- computer or more knowledgeable computer people. In Dbase terms,
- it does little more than a combination of "List fields for
- <condition>" and Total, Count and Average for same.
-
- 8.2 What does Search not do?
-
- Search is not a report writer. It is not meant to take the
- place of standardized reports. It is meant as a simple free-form
- function that can make those unplanned research questions a
- little easier and faster to answer. The output of Search is not
- intended to presentation-ready, not should they be distributed
- without proper explanations (any data can be misleading if not
- presented properly). The output that Search provides is limited
- to two or three particular fields (defined by the specific
- database), and one user defined field. If this field is numeric,
- than the totals and average values are automatically given at
- each break (a break is where the value in the logical order chan-
- ges).
-
- Figure 8-1 shows a list of all options given in Search. As
- you can see there are several items that go into a search. Most
- of them have to do with paging or the output format.
-
- _____________________________________________________________
- | |
- |1> Enter the Field name you wish to see (H/Help, Q/Quit)? |
- |2> Enter the selection criteria you're looking for |
- | (H/Help, Q/Quit, =,>, etc.) |
- |3> Do you want only totals? (Y/N H/Help Q/Quit) |
- |4> Do you want this to be printed out |
- | (Y/N, H/Help, Q/Quit)? |
- |5> Choose a Logical Order (See Figure 4-2) |
- |6> Do you want new page on each group (H/Help Q/Quit)? |
- | (#6 only if print is chosen and the Logical Order is |
- | a sortable one) |
- |___________________________________________________________|
- Figure 8-1 Search Options
-
-
- 8.3 Entering Additional Field.
-
- This is the first question from Figure 8-1. Here you would
- enter the name of a field that is in your database (see Figure
- 4-1) structure. Usually this is the value or information that is
-
- 25
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- most pertinent to your immediate question. If, for example, you
- were asking the question: "What types of properties are being
- sold in the Wise school district?", you would want to see
- Prop_type be the output. (School_d wouldn't be a good choice.
- That would work well for the selection criteria [see Section
- 11.0, Selection Criteria Maintenance].)
-
- 8.4 Choosing a Selection Criteria.
-
- Question #2 from Figure 8-1. Through the use of a selection
- criteria, you can specify the type of information that you want
- to be included in the Search. See Section 11.0, Selection
- Criteria Maintenance for more detailed explanation.
-
- 8.5 Totals Only?
-
- Question #3 from Figure 8-1. Answering "Yes" to this option
- will result in only totals being given (basically how many
- records fit the condition laid out in the selection criteria).
-
- 8.6 Printed Out?
-
- Question #4 from Figure 8-1. As this would seem to indi-
- cate, a "Yes" response would result in the Search result to be
- sent to LPT1 (line printer #1).
-
-
- 8.7 Choosing a Logical Order.
-
- Question #5 from Figure 8-1. This is very similar to
- choosing a Logical Order for either Inquiry/Entry, or Word
- Processing Conversion (see Sections 4.1 and 7.4, Choosing a
- Logical Order). The logical order that you choose defines the
- order and grouping of information that you seek.
-
- 8.8 New Page?
-
- Question #6 from Figure 8-1. If you Choose "Y" to this
- option, every time that the logical order chosen in Section 8.7
- changes, the printer will issue a Top of Form command, and a new
- page will be printed. Again, this will only be displayed if the
- output was going to the printer.
-
-
-
-
-
-
-
-
-
-
-
- 26
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 9.0 Housekeeping.
-
- There are several tasks that must be performed that have no
- direct bearing on the gathering or manipulating of information;
- yet they are critical to the smooth functioning of any infor-
- mation-based system. These tasks are contained under the
- Housekeeping menu. Figure 9-1 shows the sample Housekeeping
- Menu.
-
- _____________________________________________________________
- | |
- | Test Database System |
- | Housekeeping Menu |
- | Choose from the following: |
- | |
- | 1> Data Backup |
- | |
- | 2> Reindex Data |
- | |
- | 3> Data Verification |
- | |
- | 4> Control |
- | |
- | 5> Delete Blank Records |
- | |
- | 6> Pack Database |
- | |
- | <Shift>-# to get help on any of the above |
- | Which one do you want (Q to quit) |
- |___________________________________________________________|
- Figure 9-1 Sample Housekeeping Menu
-
- 9.1 Data Backups.
-
- People who do not back up their data are simply not playing
- smart. There are countless examples of large amounts of irrep-
- laceable data being lost forever simply because the user failed
- to take the 10-15 minutes a week it takes to save their informa-
- tion.
-
- Computer-stored information is very vulnerable to certain
- types of accidents. Someone could accidentally or intentionally
- erase the information, or the information could be "damaged" by
- a strong fluctuation in power or a total power outage. If this
- occurs, the information is lost. It cannot be recovered or
- retrieved ever again.
-
- Data backups prevent this from happening to you. By running
- this particular process, the information is stored onto another
- diskette which can then be removed from the area for safekeeping
- (usually you home). It pays, however to have several copies,
- some older, some more recent (if it turns out that you have had
-
- 27
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- bad data for some time and only now have discovered it).
-
- There are all sorts of arguments concerning backing up of
- your data; why's and all of that. Suffice to say that everything
- can be lost if you don't.
-
- Enough of that. Now, how do you do it? Simple. When you
- select a data backup from the list of housekeeping options
- (Figure 9-1, Sample Housekeeping Menu) another menu will appear,
- the Backup Menu (see Figure 9-2). There are two options given to
- you, Program Backups and Data Backups. What they do is very
- different from one another.
-
- _____________________________________________________________
- | |
- | This screen is for the backing up of your |
- | system. It should be done on a routine basis (like |
- | weekly at least). |
- | |
- | There are two types of backups... |
- | |
- |1> Program Backups (when there have been changes to |
- | the system |
- | |
- |2> Data Backups (when you have made changes to your |
- | data. |
- | |
- |Note that while #2 should be done more often, they |
- |should BOTH be done regularly. |
- | |
- |Enter <Shift>-1 or <Shift>-2 for Help |
- | WAIT Which one do you want to do(1/2/Q) TO Begin |
- |___________________________________________________________|
- Figure 9-2 Backup Menu
-
- Program Backups are done whenever there are changes made to
- the programs that run the system. To the user it may appear that
- there are few times when this is the case, but there may be more
- than meets the eye, depending on the amount of programming that's
- going on. If you're not sure, do this around once a month.
-
- Data Backups are done whenever that are changes made to the
- information contained within the database itself. This can be a
- often as several times a day, or as rarely as one a month. Just
- keep in mind that if the system were to go down right now,
- whatever you have put into your system since you last did a
- backup would have to be re-entered. If you're really comfortable
- with that, then you're doing fine...(or not thinking it through)
- Whichever of the choices you make, Figure 9-3 shows the message
- that the system will display after choosing.
-
-
-
- 28
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- ____________________________________________________________
- | |
- |Place backup program diskette in drive A |
- | and hit return to begin (q to quit) |
- |___________________________________________________________|
- Figure 9-3 Backup Message
-
- At this time you should place a diskette (on that contains
- nothing of value) into drive A, shut the door, and hit return.
- The computer will display an appropriate message soon afterward
- and return to the Housekeeping Menu.
-
- 9.2 Reindex Data.
-
- This option should be the first step in any troubleshooting
- operation. If a particular problem has appeared (like, "I put
- that data in yesterday and now I can't find it!") your first step
- (yes, prior even to calling for help!) should be to do this.
-
- Database information is indexed. That means that there is
- an index file (located separately from the main data file), that
- points to the location of the information according to a logical
- order. That key is dependant on the application (See Section
- 4.1, Choosing a Logical Order for more detailed explanation). A
- reasonable analogy would be the card catalogue file at your local
- library. The card is smaller, easier and faster to access and
- make use of, and points to the location where the book is
- located. If the index file is corrupted, than the link between
- the index and the regular file is lost. Reindexing fixes that.
-
- Reindex will take anywhere between 1-30 minutes (depending
- upon the size of the database. It should be consistent for your
- application). In addition to when there is a problem, you should
- run reindex once a week just for the heck of it.
-
- 9.3 Data Verification.
-
- Data Verification will list all of the fields that were set
- up for Verification during Create (See Appendix C). You may
- choose a single field, or all of them. The system will then
- match your values currently contained in the database against
- those found in the verification database (see Section 12.0,
- Verification Edit). It will then generate an exception report,
- (after asking you if you want it printed) listing all inaccurate
- records. You are then responsible for fixing those records,
- preferrably through traditional data entry. Keep in mind that
- only certain fields in your database are capable of taking
- advantage of this. In our test database (See Figure 4-1)
- School_D, for example, can make use of this, since there are only
- so many school districts in the city. However, Own_Name cannot
- make use of it, since there are no practical limitations to ones
- name.
-
- 29
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- Verification, however useful it sounds, is not an end-all
- solution to data entry problems. At best, it is a sometimes
- helpful reminder. But nothing can replace a user who is watch-
- ful, careful and above all, knowledgeable.
-
- 9.4 Control.
-
- Obviously, there are a lot of little things that the
- computer does. Some help us, some don't. Some just annoy the
- heck out of us. Control lets the user have some control over
- these items. By using the menu, the user has the ability to
- change something that he or she doesn't like or need at a
- particular point in time.
-
- The Dbase equivalent of this is "SET BELL (example) ON".
-
- There are basically four things that the user has control
- over. They are: Confirmation, Deletion, Bell, Exact. Through
- the Control Menu (Figure 9-4) the user can change any or all of
- them. Their original values are determined by the setup of the
- Main database (see Appendix G). These are the values the four
- are set to each time the system is accessed. In other words,
- once you exit the system, you would have to reenter it and
- reapply your control changes.
-
- _____________________________________________________________
- | |
- | Test Database System Control Menu |
- | |
- | Choose from the following: |
- | |
- | 1> Confirm (ON...Return after every field) |
- | (OFF..Automatically goes to next) |
- | |
- | 2> Delete (ON...Deleted records not accessible) |
- | (OFF..Deleted records accessible) |
- | |
- | 3> Bell (ON...the annoying thing rings a lot) |
- | (OFF..it won't) |
- | |
- | 4> Exact (ON...good only on complete spellings) |
- | (OFF..it will hit on incomplete spellings)|
- | |
- | Which one do you want (Q to quit) |
- | |
- |___________________________________________________________|
- Figure 9-4 Control Menu
-
- As you will see once they're explained, the initial values
- of the control variables are set to help the beginning user.
-
-
- 30
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
- 9.4.1 Confirm
-
- Confirm is used to keep the user from entering too many
- characters in a field. Let's take the field Own_name, for
- instance. It is a character field 20 characters long.
-
- With Confirm set On, if someone would try to enter a 21
- character-long name, it would merely emit an audible (beep) when
- the person entered the 21st character. A person must hit the
- <Enter> key prior to moving onto the next field.
-
- With Confirm set Off, the 21st character would move on to
- the next field and in this case, would be the first character in
- the O_addr1 field.
-
- 9.4.2 Delete
-
- Delete is used to control access to deleted records. As you
- will recall from Section 4.8, How to Delete Information, it told
- you how to delete a record and how it appears on the screen.
-
- With the Delete option set to On, information that has been
- marked for delete will not be accessible. With Delete set for
- Off, the information that has been deleted will be accessible
- through normal Inquiry/Entry. Obviously, then when the Delete
- option is set to Off there is no way to change a record from
- deleted to not deleted. However, there are certain instances
- when the user would not want deleted information to be accessible
- to users, for it would be slightly misleading.
-
- 9.4.3 Bell
-
- The author of the AGS (and this document, for that matter)
- feel real strongly about the fact that the bell is one of the
- most annoying things that Dbase III+ has. However, it is a
- good reminder for the new user for various reasons (illegal
- date, end of field, etc.). Basically, you're on your own when it
- come to this one. If it's on, the system creates an audible
- (beep) a lot. If it's Off, it won't. Simple enough, no?
-
- 9.4.4 Exact
-
- Exact is a tricky one, and is best left to those who are
- used to using the system for awhile. Exact deals with when the
- computer looks for a value in a particular field. It comes back
- after searching with either a Successful or an Unsuccessful
- search. When exact is On, the system will have a successful
- search only when the match is perfect, character for character,
- no more and no less for that field. When exact is Off, the
- system will look for a partial match, allowing for additional
- characters. A good example would be if you were looking for a
-
- 31
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Own_name of "Smith", but you weren't sure is it was spelled
- "Smythe", "Smith", or "Smyth". You would enter the beginning
- letters you were sure of ("Sm", in this case). The system would
- then find the first record where the first two characters of
- Own_name was "Sm". By taking a "Quit/Next" Option on the
- Update/Release Command Line (See Figure 4-7), you would "page"
- through these until you found the one you wanted. Simple, huh?
-
- 9.5 Delete Blank Records.
-
- One thing that will probably happen when you're just
- beginning to get used to entering data is some blank records
- getting saved. In order to get rid of them, run this function.
- When the application was originally generated, the creator
- specifies which fields are to be blank in order for the system
- to mark them for delete.
-
- Once this function is run, the user still has to pack the
- database to actually remove the data from the file.
-
- 9.6 Packing Your Database.
-
- As we've mentioned on more than one occasion, information
- is not really so easily deleted. All that happens when someone
- marks a record for delete, it just sits there marked. It isn't
- until someone runs this option that all records marked for
- deletion are actually deleted. When you run this, make sure that
- you've deleted only those records you want deleted.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 32
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 10.0 Help.
-
- There are three types of help that are readily available.
- One is this document. It probably has most of the answers you
- seek. But there are also two type of on-line help available
- straight from the computer. One is related to getting more
- information about the database itself, while the other is to get
- help and information concerning the current command line that the
- user is contemplating. Both have distinct uses, and both come in
- handy (famous last words).
-
- 10.1 Database Help.
-
- Option #7 on the Main Menu (see Figure 3-1) is Help. When
- you choose this, you will see (similar to Word Processing
- Conversion) a list of all database fields on your screen (See
- Figure 10-1).
-
- _____________________________________________________________
- | |
- | Help Selection Screen For Test Database |
- | 1>E_DATE 2>ST_NUM |
- | 3>ST_NAME 4>PARCEL |
- | 5>CEN_TRACT 6>CEN_BLOCK |
- | 7>SCHOOL_D 8>UNITS |
- | 9>PROP_TYPE 10>OWN_NAME |
- | 11>O_ADDR1 12>O_ADDR2 |
- | |
- | |
- | |
- | Which one do you want help on (H/Help Q/Quit) |
- |___________________________________________________________|
- Figure 10-1 Help Menu
-
- To get information on any one field, simply enter the
- number. When a valid number is entered (in this case 1-12), the
- system will then display information such as that displayed in
- Figure 10-2.
-
- _____________________________________________________________
- | |
- | |
- | Field = ST_NUM Type = C |
- | Length : 8 |
- | Desc 1:Street Number of the Property |
- | Desc 2: |
- | Hit any key to continue... |
- |___________________________________________________________|
- Figure 10-2 Sample Database Help Screen
-
- As you can see, there is a fair amount of information
- contained there. First of all, there is the field name itself,
-
- 33
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- followed by the type of field it is (C, N, L, D; See Figure 4-6),
- the length and up to two lines of descriptive text.
-
- 10.2 Command Line Help.
-
- On many screens, you see the command requesting your next
- input. Usually there is also a statement on how to acquire Help
- from this point. This is a different type of help than that
- described in Section 10.1. This type of help is designed to
- inform you of what the various capabilities and expectations are
- at this point in the system. For example, the main menu (See
- Figure 3.1) gives you a list of 8 options, plus Q for leaving the
- system, and <Shift>-# for Help. In other Cases, such as the
- Logical Order Menu (see Figure 4-2), the system gives 1-5, Q and
- H as options. In both cases help is available. In the first
- case, since 1-8 are so different, a special help screen is
- available for each option. Since the Logical Orders are similar
- in context, they only need one screen. For example, if you
- wanted help on Option #1 (Inquiry/Entry) of the Main Menu, you
- would hit <Shift>-1 (which corresponds to an explanation point
- '!') to get help. The system would then respond with what you
- see in Figure 10-3.
-
- _____________________________________________________________
- | |
- | This function allows you to see and |
- | maintain information in the main file. |
- | Hit any key... |
- |___________________________________________________________|
- Figure 10-3 Sample Command Line Help Screen
-
- Just about every command line (with the exception of when
- you are editing a record) has some form of help available. Take
- advantage of it.
-
- As mentioned before, on certain monitor types these screens
- will not clear when you hit any key.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 34
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 11.0 Selection Criteria Maintenance.
-
- 11.1 What is a Selection Criteria?
-
- A selection criteria is a condition, or set of conditions,
- which can be directly applied to specific fields in your
- database. A selection criteria applied to a record can only have
- one of two possible outcomes:
-
- Yes, it satisfies the conditions.
- No, it does not satisfy the conditions.
-
- The Dbase equivalent of this is "SET FILTER TO <condition>"
-
- There is no such thing as "maybe", "don't know", or "sort
- of" as far as a condition goes. A Selection Criteria (stated in
- English) can
- be as simple as:
-
- All records,
- (in which case all records satisfy the condition)
-
- Or:
-
- No records,
- (in which case no records satisfy the condition)
-
- Selection Criterias are usually applied when you are
- interested in using
- information that fits a certain criteria. Back in Section 7.0,
- and 8.0 (WP Conversion and Search) we were talking about applying
- certain criteria to the database prior to actually running the
- task. Well, here is where we do it. By developing a Selection
- Criteria. But we have to make sure that the syntax is proper.
- The way we state a selection criteria must be follow the rules
- and conventions set up for Dbase III+.
-
- 11.2 Simple Selection Criterias.
-
- A simple selection criteria is a simple Yes or No condition
- that you can
- apply against a single field in a database. If you'll recall
- back in Section 7.0, WP Conversion, we were interested in sending
- a letter to all owners of property whose property was in the
- "Wise" school district. For that example, we would make the
- selection criteria:
-
- School_D = "Wise"
-
- Relatively Simple, No? The form of the simple selection
- criteria is:
-
-
- 35
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- {Field Name} {Operative} {Value}
-
- Now, we've been through the Field Name list (Figure 4-1)
- enough times to know what that would be. But what about Opera-
- tive?
-
- An operative is the symbol which defines the relationship
- between the sides of the selection criteria. (huh?) In other
- words, for our example, we wanted the Field_name Equal to
- "Wise". Equal to {=}
- is our Operative. A list of potential operative and their
- descriptions is found in Figure 11-1.
-
- _____________________________________________________________
- | |
- |Operative Description |
- | |
- | = {L. Side} Equal to {Right Side} |
- | > {L. Side} Greater Than {Right Side} |
- | >= {L. Side} Greater Than {Right Side} |
- | or Equal to |
- | |
- | < {L. Side} Less Than {Right Side} |
- | <= {L. Side} Less Than {Right Side} |
- | or Equal to |
- | <> {L. Side} Not Equal to {Right Side} |
- | |
- |___________________________________________________________|
- Figure 11-1 A List of Selection Criteria Operatives
-
- The Value on the right side should be a legitimate value of
- the field name on the left of the operative. If not, an error
- will occur. Figure 4-6 shows the various legal ways of repre-
- senting data. Since we know that School_d is a character type of
- Field, we know then that the value must be enclosed by quotation
- marks ("). In other words, as we've stated above:
-
- School_D = "Wise"
-
- is a legitimate selection criteria, whereas
-
- School_D = Wise
-
- is not (note the missing quotes).
-
- Figure 11-2 shows a list of good selection criterias for
- each data type, relating back to our old test database (Figure
- 4-1). For your application, simply replace the field name on the
- left with your field name, and the value on the right with your
- value.
-
-
-
- 36
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- _____________________________________________________________
- | |
- | Data Type: Character |
- | Own_Name = "Smith" |
- | Cen_tract > "1701" |
- | Prop_type <> "I" |
- | |
- | Data Type: Numeric |
- | Units = 5 |
- | Units < 2 |
- | |
- | Data Type: Date |
- | E_date > CTOD("01/23/87") |
- | E_date <> CTOD("12/32/87") |
- | |
- | Data Type: Logical |
- | Del_flg = .T. |
- | Del_flg = .F. |
- |___________________________________________________________|
- Figure 11-2 Some Simple Selection Criterias
-
- You'll notice (if you bothered to look) that there is one
- queer one in the group: Dates. Dates isn't a simple conversion
- like numerics, logicals or even characters. That's because date
- information is stored in a special way called Date Format, and in
- order to compare a date field to a value you have to convert your
- value to that format. To do this you simply enter the date as a
- string (such as "01/23/87" in the first date sample above, and
- perform the "Character To Date Conversion" to it, by this:
-
- CTOD(<string>)
-
- You only have to do this here, for selection criterias. The
- system does
- it everywhere else (ie, data entry Search WP Conversion, Reports,
- etc.).
-
- 11.3 Complex Selection Criterias.
-
- Complex selection criterias occur when you want the
- selection criteria to be more than one relationship possibly
- between more than one field. If for example, in our never-ending
- example of School District being Wise, we also didn't want to
- send anything to commercial properties (let's assume that means
- Prop_type <> "C")? If we wanted to do that, we would have to
- look at two fields, School_D,
- and Prop_type. So we'd have two selection criterias, and they
- would both have to be true:
-
- {Selection Criteria #1} AND {Selection Criteria #2}
- *******
- *(or,)*
-
- 37
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- *******
- School_D = "Wise" AND Prop_type <> "C"
-
- The basic structure of a complex selection criteria is:
-
- {Selection Criteria #1} {Linking Conditional} {Selection
- Criteria #2}
-
- The linking Conditional is used to say "#1 AND #2 have to be
- true", or "#1 OR #2 have to be true", etc. You could actually go
- on and on with this, linking as many selection criterias as you
- like:
-
- {Flt #1}{LC#1}{Flt #2}{LC#2}{Flt #3}{LC#3}{Flt #4}...etc.
-
- Figure 11-3 shows the legal Linking Conditionals and their
- definitions. It also shows what is known as a Truth Table.
- Basically, a Truth Table gives you on the vertical (or left)
- side the conditions (#'s 1 and 2). On the horizontal (top) side
- it gives you the two possible outcomes ([T]rue and [F]alse). By
- cross-referencing them, the result is the complex combination of
- them. The right-most column (R) shows the result of the combina-
- tion.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 38
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- _____________________________________________________________
- | |
- | AND |
- | _____|___T_____|____F____|____R____| |
- | | | | | | |
- | |#1 | T | T | T | |
- | -------------------------|---------| |
- | |#2 | T | F | F | |
- | |____|_________|_________|_________| |
- | | | | | | |
- | |#1 | F | T | F | |
- | -------------------------|---------| |
- | |#2 | F | F | F | |
- | |____|_________|_________|_________| |
- | |
- | OR |
- | _____|___T_____|____F____|____R____| |
- | | | | | | |
- | |#1 | T | T | T | |
- | -------------------------|---------| |
- | |#2 | T | F | T | |
- | |____|_________|_________|_________| |
- | | | | | | |
- | |#1 | F | T | T | |
- | -------------------------|---------| |
- | |#2 | F | F | F | |
- | |____|_________|_________|_________| |
- | |
- | |
- | |
- | NOT |
- | _____|___T_____|____F____|____R____| |
- | | | | | | |
- | |#1 | T | T | F | |
- | -------------------------|---------| |
- | |#2 | T | F | T | |
- | |____|_________|_________|_________| |
- | | | | | | |
- | |#1 | F | T | F | |
- | -------------------------|---------| |
- | |#2 | F | F | F | |
- | |____|_________|_________|_________| |
- | |
- |___________________________________________________________|
- Figure 11-3 A List of Linking Conditionals
-
- 11.4 Maintaining a Selection Criteria Library.
-
- As you can see, selection criterias can become as complex as
- the questions they represent. And we can't expect every user to
- become an expert in the use of them. In order to still allow the
- user flexibility, the system allows use of a library of selection
-
- 39
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- criterias, which users can add and change at will. By choosing
- Option #8 from the Main Menu (see Figure 3-1), you can maintain
- the selection criterias that are kept on file. Figure 11-4 shows
- the Selection Criteria Maintenance Menu.
-
- The Selection Criteria Library is set up to allow users to
- access selection criterias by a number, which corresponds to the
- record # that the selection criteria is located in the selection
- criteria database file.
-
- _____________________________________________________________
- | |
- | This is the Selection Criteria Maintenance Module |
- | Do you want to: |
- | |
- | 1> Display all Selection Criterias |
- | 2> Modify a Specific Selection Criteria |
- | 3> Add a New Selection Criteria |
- | 4> Test+Produce a Selection Criteria Report(on printer |
- | |
- | Which one do you want (<Shift>-#/Help,Q/Quit)? |
- |___________________________________________________________|
- Figure 11-4 Selection Criteria Maintenance Menu
-
- In regards to the four options listed, they perform the
- following functions:
-
- 1> Display all Selection Criterias. This option will list
- onto the screen all of the Selection Criterias currently on file,
- in the order that they were entered.
-
- 2> Modify a Specific Selection Criteria. This option
- allows a user to
- go and change (permanently) a particular selection criteria.
-
- 3> Add a New Selection Criteria. This option allows a
- user to add a selection criteria not previously available on the
- system.
-
- 4> Test + Produce a Selection Criteria Report. This
- option will go through all selection criterias and test them for
- accuracy and proper syntax.
- It will also produce a report describing all correct and
- incorrect selection criterias.
-
- Notice that the selection criteria numbers are contained on
- the report, and you may want to consider distributing the report
- to users or to post the report near the unit, so as to allow them
- to look at the list when choosing their selection criterias.
-
- 11.5 Choosing a Selection Criteria.
-
-
- 40
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- There are 3 different ways of choosing a Selection Criteria.
- You can enter one manually, use the Library, or use the Selection
- Criteria Guide. Figure 11-5 shows the menu from which you can
- choose.
-
-
-
- Enter a Manual Selection Criteria
- Access The Selection Criteria Library
- Use the Selection Criteria Guide
- Use Current Selection Criteria
- Help
- Quit this program
-
- Use the arrow keys to highlight your choice
- And hit <Enter>
-
- Current Selection Criteria:
-
- Figure 11-5 Choosing Selection Criteria Method
-
- Now you should notice that the method of selection here is
- different from other areas in the AGS. Instead of entering a
- number or letter, you use the arrow keys on your keyboard to
- highlight your selection, and press <Enter>. The selection
- criteria area is the only area currently supporting this
- capability.
-
- NOTE: DO NOT hit any key prior to the highlighted area
- showing on your screen, as it will have strange effects on your
- system later.
-
- Now, let's look at each of the methods of entering a
- Selection Criteria.
-
- 11.51 Enter a Manual Selection Criteria.
-
- This is technically the easiest, but also for the user the
- most difficult. By selecting this option, the system will
- display a screen as shown in Figure 11-6. This will allow you
-
- _____________________________________________________________
- | |
- | Enter the selection criteria you're looking for |
- | (H/Help, Q/Quit, =,>, etc.) |
- | ? |
- | ? |
- | Is this the Selection Criteria that you want |
- |___________________________________________________________|
- Figure 11-6 Selection Criteria Entry Screen
-
- to enter up to two lines of Selection Criteria information. The
-
- 41
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- syntax is identical to what Dbase III+ would expect in a line
- such as:
-
- DISPLAY FOR *****
-
- and you would enter what you would put instead of *****. After
- you've entered your selection criteria, the system will test it
- for validity. If you want to leave this screen, enter simply a
- "Q" (no quotes). A blank selection criteria will assume all
- records.
-
- 11.52 Access the Selection Criteria Library.
-
- Assuming that the Selection Criteria Library is properly set
- up, each selection criteria will have a number associated with
- it(as stated above). There are three areas where selection
- criterias come in handy. They are:
-
- A> Search.
- B> Word Processing Conversion.
- C> Inquiry/Maintenance (w/Browse Logical Order Option).
-
- Each of these use the selection criteria is a slightly
- different way, but the results are the same. Let's take our
- wondrous example of the school district open house letter.
- Assuming that our Selection Criteria Library looked something
- like Figure 11-7, which selection criteria would we want?
- _____________________________________________________________
- | |
- | # Selection Criteria Use |
- | |
- | 1 Prop_type = "R" for Residential |
- | Properties |
- | 2 Units > 1 for multiple unit |
- | Housing |
- | 3 School_D = "Wise" for the Wise School |
- | District |
- | 4 Del_flg = .F. for non-deleted |
- | records |
- |___________________________________________________________|
- Figure 11-7 Sample Selection Criteria Library
-
- #3, of course. The others have useful meanings as well, but
- it's #3 that suits our purposes now. When the system asks for
- the selection criteria #, we would enter "3"
-
- In this case, the system will see that the first character
- is an exclamation point (!). The system will expect a number
- after that, and will use that number to find the selection
- criteria. The selection criteria will then be displayed on the
- screen, and the user will verify and move on.
-
-
- 42
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- In the case that an incorrect selection criteria, or
- selection criteria number is entered here, the system will
- display and error message. A selection criteria must be correct
- in order for the system to proceed to the next step.
-
- 11.53 Use the Selection Criteria Guide.
-
- The third and easiest method is to use the Selection
- Criteria Guide. This will run in five steps. Each step you must
- again point at your target using the arrow keys and hit <Enter>
- to choose the answer you've highlighted. These steps are:
-
- 1> Select the variable you want and hit <Enter>.
- Ex: "School_d"
- 2> Select the measurement (=,>,etc.) and hit <Enter>.
- Ex: "="
- 3> Select the variable you want to measure against.
- Here you may also enter your own value.
- Ex: "Wise"
- 4> Select Linking another condition, Enter Y or N.
- 5> If you selected "Y", you will then be asked to link
- the previous condition with the choices listed in
- Figure 11-8:
-
-
- Which of the following Boolean Conditions
- Do you want to specify:
-
-
- Condition #1 AND Condition #2
- Condition #1 OR Condition #2
- Condition #1 AND NOT Condition #2
- Forget it, I changed my Mind
-
- Figure 11-8 Boolean Conditions
-
-
- 11.6 Selection Criteria Syntax.
-
- There is of course a particular syntax that is needed in
- order to successfully create a selection criteria. We have shown
- how to specify a simple condition (Section 11.2, Simple Selection
- Criterias). But we have also shown how to link conditions
- together, forming complex selection criterias (Section 11.3,
- Complex Selection Criterias). The syntax of a linking
- conditional is actually very straightforward:
-
- {Selection Criteria #1} .{LC}. {Selection Criteria #2}
- ^ ^
- | |
- -------------Notice the periods? (.)
-
-
- 43
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Simply put a period (.) on each side of the linking condi-
- tional. Using or example from Section 11.3, the full syntax
- would be:
-
- School_D = "Wise" .AND. Prop_type <> "C"
-
- But if we have several selection criterias to link, and we
- need them grouped, we would then use parenthesis "(" to group
- them. Let's say we wanted both the "Wise" and the "Gai" school
- district to get the letter.
-
- (School_D = "Gai" .OR. School_D = "Wise") .AND. Prop_type <> "C"
- ^ ^
- | |
- | The system will first evaluate | ^
- | the condition within the paren- | |
- | thesis, and then evaluate the | |
- | remaining selection criterias. | |
- ---------------------------------------------------
-
- Just think back to your old Algebra days and you'll do just
- fine.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 44
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 12.0 Verification Edit.
-
- When the system is initially Created, certain fields were
- set up as verifiable. That is to say there was a limit placed
- onto them as to the acceptable values allowed for that field.
- This is where you would specify those limits.
-
- Three types of fields can be verifiable; Numeric, Date and
- Character. Logicals cannot (why should they be?) be.
-
- When you initially call up Verification Edit, the system
- will list for you the fields currently defined as verifiable.
- You would then choose the field you want to work on from this
- list.
-
- 12.1 Verifying Numerics.
-
- If the field is numeric, the system will request a "Lowest
- Legal Value" and a "Highest Legal Value". Any field that is :
-
- "Lowest Legal Value" < Field Value < "Highest Legal Value"
- is ok. Any other is not.
-
- 12.2 Verifying Dates.
-
- If the field is a Date, the system will request a "Oldest
- Legal Date" and a "Most Recent Legal Date". Any field that is :
-
- "Oldest Legal Date" < Field Value < "Most Recent Legal Date"
- is ok. Any other is not.
-
- 12.3 Verifying Characters.
-
- If the field is a Character, the system will show you a
- submenu (Figure 12-1), asking if you want to display all legal
- values, modify a specific one, add one or print a hardcopy
- report.
-
-
- Do you want to:
-
- 1> Display all Legal Values
- 2> Modify a Specific Legal Value
- 3> Add a new Value
- 4> Produce a Verification Report (on printer)
- 5>Change how Blanks are Accepted
-
- Which one do you want (<Shift>-#/Help,Q/Quit)?
-
- Figure 12-1 Verification Edit Menu
-
-
-
- 45
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- When you run Verify, the system checks to see if the field's
- value is on this list. If it's on the list, it's ok. Any other
- is not.
-
- The Options perform as follows:
-
- 1> Will list (on screen) the list of all Legal Values for
- that field.
-
- 2> Will ask for a value from you. If that value exist,
- the system will allow you to modify or delete it from the list.
-
- 3> Will allow you to add a new value (NOTE: System will
- NOT check for duplication.)
-
- 4> The system will produce a report, optionally to a
- printer.
-
- 5> Will allow you to change whether an empty (blank) field
- will show up as an error or not for that field.
-
- Note that Verification do a Caseless search. In other words,
- if you have a value of "ABC" in Verify, and a record has "abc",
- there would be no error. However, the values "abcd" and " abc"
- would both be considered errors.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 46
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 13.0 Registration Info.
-
- Of course, having a system that does 80% of what you want is
- nice. Having it do more is better. That's what you get with a
- fully-registered version! Not only do you get unlimited record
- capability (well, up to Dbase's limits, anyway), you get
- additional documentation which tells you how to use AGS to:
-
- >Link Databases (ie, customer database vs. order database)
- >Use print codes!
- >Import Data from other systems
- >Customizing your d/e
- >make verification during initial data entry
- etc, etc...
-
- So REGISTER!!
-
- The AGS has already been used in several places, and for
- many functions. They include:
-
- Inventory Order Entry Management
- Personnel Housing Title Transfers
- Housing Financial Analysis Mailing List Maintenance
- Travel Agent Customer Maintenance Union skills tracking
- Computer Maintenance Simple A/R
- Remote Data Entry Account Tracking
- Get the idea?
-
- As you can hopefully see, there really is no limit to the
- type of application here. The version you have here has a limit
- of 50 records for each database placed on it. By registering you
- version, you would be given an unlimited use version. In some
- cases, however, there are some changes which would make the
- system run even smoother. But in order to make those changes,
- you have to have a special registered system, which is delivered
- with full Dbase code intact! (Shareware distributed version
- contains executable only...)
-
- But how do I register? (I hear you cry) Simple. Send
- money (to support the Shareware concept) to:
-
-
- RL Coppedge, CDP CIS #: 72117,165
- 446 Richmond Pk E 402A Genie: R.COPPEDGE1
- Richmond Hts, Ohio Cleve Free-Net: AE069
- 44143
-
- How much should you send? I leave that up to a debate between
- you, your wallet and your conscience. (C'mon, Conscience!!)
-
-
-
-
- 47
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- A general suggestion:
-
- single users: Companies, Consultants, etc.
- Executable: $50 $100
- W/Code: $100 $250
-
- Code version also includes some technical documentation
- explaining what it is you see.
-
- Several changes have been made since V2.0. Obviously, the more
- support of this type, the more likely it is that I would continue
- to improve this system along the shareware school of thought.
- There are a lot of improvement currently in the test version
- 2.2... (see the file AGS210.TXT)
-
- Later!!! Bob
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 48
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 14.0 Additional Notes and Capabilities.
-
- At this point in time you have reviewed all system capabil-
- ities. The system is built for non-technical people to use;
- however, familiarity with Dbase III+ would aid dramatically in
- really getting your money's worth. This system can be easily
- modified to fit and adapt to a particular users needs.
-
- There are a few other things worth commenting about.
-
- 14.1 Security
-
- There ain't no such beast. Generally speaking, there is no
- easy way of making your data more secure than the area in which
- it is contained. In other words, if your unit is going to be out
- in the open with no one watching it, so is your data. My
- standard response to the immortal question "How secure is my
- data?" is that it's equally secure as the file cabinet next to
- it.
-
- 14.2 Training
-
- If you don't train people, either they will not use the
- system, or they will use it improperly. Even the friendliest
- system (I hate the term "user-friendly") needs some type of
- guidance in how to use it from a procedural standpoint, if for
- no other reason.
-
- One of the biggest problems with implementing computer
- systems onto people with little or no computer experience is that
- there is often little or no regard paid to making sure that the
- transition is made. Often time people will resist taking
- advantage of the computer unless they are encouraged by their
- supervisor.
-
- 14.3 Justification
-
- Automating a manual process is the easiest way to com-
- puterize. Unfortunately, it is also the least efficient and the
- most likely to fail. When you are computerizing a process, you
- should begin by reviewing all steps to that process, look into
- the possibilities of streamlining the operations somehow so that
- there would be a more efficient method of processing the informa-
- tion. Often that step alone would save more money than simple
- computerization.
-
-
-
-
-
-
-
-
- 49
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 15.0 Suggested Ways of Learning More.
-
- If you have successfully completed mastering this system,
- you should feel free to go on, and master Dbase III+ itself.
- There are many seminars, books, tutorials, even video tape
- classes created specifically for this product. The AGS in some
- ways scratches the surface of the truly complex Dbase III+
- system.
-
- Take advantage of whatever products you have available, and
- enjoy!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 50
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
- Section 16.0 Thanks and Acknowledgements
-
- Of course, there are several people who made contributions
- to this package. Amongst them are:
-
-
- Ashton-Tate, for making Dbase in the first place. Without
- that package, this package is nothing with a capitol N.
- The Compuserve Ashton Tate SIG, for being easier than
- looking it up.
- The Compuserve Micropro SIG
- Ed Zollars (making sense of WordStar and my ignorance)
- For their technical help (and speed)
- Robert A. Byers, Jeb Long, C. Wayne Ratliff, authors of
- Dbase Programmer's Utilities for the MenuBar utility.
- Whoever wrote the original Dbwind file.
- Randy Ayers and Mark Webster for playing with this and not
- making TOO many wisecracks when it went <poof!>
- My wife Helen for putting up with this nonsense.
-
- And finally, to the "Poor Man's Database System", the
- predecessor to the AGS. Too bad CP/M never really caught on in
- the end... (just kiddin')
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 51
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
-
-
-
-
- Appendix A: System Flowchart
-
-
- This is a technical flowchart that points out the programs
- and their relationship to one another. Although this is of minor
- interest and need to the user, someone with a more technical
- interest may find it helpful. This was produced through use of
- the package Dflow (from WallSoft Systems, Inc.), a neat documen-
- tation generator package for Dbase III+.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 52
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
-
-
- Appendix B: Technical Documentation
-
- This area describes the program files that go into running
- the AGS. This is available in the registered version with
- Source.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 53
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
-
-
-
- Appendix C: Create!
-
- This documentation covers the use of Creating a particular
- application. For ARC-hieved files, this is AGSAPPC.TXT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 54
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-
-
-
-
-
-
-
-
- Appendix D: Index
-
-
- Here's what is probably an incomplete index. (you get this
- with source). This also includes a memory variable map. This
- could help explain certain "anomalies" (we no longer have bugs,
- folks; this is 1988!)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 55
- Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
-
-